<?php
namespace ImiDemo\WebSocketDemo\MainServer\Listener;

use Imi\Bean\Annotation\ClassEventListener;
use Imi\Server\Event\Param\MessageEventParam;
use Imi\Server\Event\Listener\IMessageEventListener;

/**
 * 监听message事件，可以自己做处理
 * 如果不需要默认的处理方式，在配置文件中，把WebSocketDispatcher-middlewares下的中间件去除
 * 
 * @ClassEventListener(className="Imi\Server\WebSocket\Server",eventName="message")
 */
class OnMessage implements IMessageEventListener
{
    /**
     * 事件处理方法
     * @param MessageEventParam $e
     * @return void
     */
    public function handle(MessageEventParam $e)
    {
        // 如果服务器名不是主服务器就返回
        if('main' !== $e->getTarget()->getName())
        {
            return;
        }
        var_dump($e->frame->data);
        // $e->server->getSwooleServer()->push($e->frame->fd, '返回信息');
    }
}